package dominioProblema;

import java.util.LinkedList;

import dominioProblema.Mao;
import dominioProblema.Pedra;
import br.ufsc.inf.leobr.cliente.Jogada;

public class Lancamento implements Jogada {

	protected static final long serialVersionUID = 1L;
	protected boolean recebida;
	protected boolean bateu;
	protected int pontuou;
	protected boolean passou;
	protected int ponta;
	protected boolean vitoria;
	protected int saldoPedras;
	protected String nomeJog;
	protected int pontJog;
	protected int pontOp;
	protected Armazem armazem;
	protected Mao maoJog;
	protected Mao maoOp;
	protected LinkedList<Pedra> disposPedras;
	protected LinkedList<Pedra> ptaC;
	protected LinkedList<Pedra> ptaD;
	protected boolean dobleCincoJogado;
	protected boolean iniciarDouble5;
	protected String vencedor;
	protected boolean jogoTrancado;
	protected boolean reinicio;
	
	public Lancamento(boolean passou, String n, Mao m, Mao op) {
		this.setRecebida(true);
		this.setBateu(false);
		this.setPontuou(0);
		this.setPassou(passou);
		this.setPonta(-1);
		this.setVitoria(false);
		this.setSaldoPedras(5);
		this.setNomeJog(n);
		this.maoJog = m;
		this.maoOp = op;
		this.disposPedras = new LinkedList<Pedra>();
		this.ptaC = new LinkedList<Pedra>();
		this.ptaD = new LinkedList<Pedra>();
		this.dobleCincoJogado = false;
		this.setIniciarDouble5(false);
		this.setVencedor(null);
		this.setJogoTrancado(false);
		this.setReinicio(false);
	}
	
	public Lancamento() {		
		// TODO Auto-generated constructor stub
	}

	public Lancamento getJogada() {
		// TODO - implement Jogada.getJogada
		throw new UnsupportedOperationException();
	}

	public boolean isPassou() {
		return passou;
	}

	public void setPassou(boolean passou) {
		this.passou = passou;
	}

	public boolean isRecebida() {
		return recebida;
	}

	public void setRecebida(boolean recebida) {
		this.recebida = recebida;
	}

	public String getNomeJog() {
		return nomeJog;
	}

	public void setNomeJog(String nomeJog) {
		this.nomeJog = nomeJog;
	}

	public int getPontuou() {
		return pontuou;
	}

	public void setPontuou(int pontuou) {
		this.pontuou = pontuou;
	}

	public boolean isBateu() {
		return bateu;
	}

	public void setBateu(boolean bateu) {
		this.bateu = bateu;
	}

	public boolean isVitoria() {
		return vitoria;
	}

	public void setVitoria(boolean vitoria) {
		this.vitoria = vitoria;
	}

	public int getSaldoPedras() {
		return saldoPedras;
	}

	public void setSaldoPedras(int saldoPedras) {
		this.saldoPedras = saldoPedras;
	}

	public int getPonta() {
		return ponta;
	}

	public void setPonta(int ponta) {
		this.ponta = ponta;
	}

	public Armazem getArmazem() {
		return armazem;
	}

	public void setArmazem(Armazem armazem) {
		this.armazem = armazem;
	}

	public int getPontJog() {
		return pontJog;
	}

	public void setPontJog(int pontJog) {
		this.pontJog = pontJog;
	}

	public Mao getMaoJog() {
		return maoJog;
	}

	public void setMaoJog(Mao maoJog) {
		this.maoJog = maoJog;
	}

	public void setMaoOp(Mao maoOp) {
		this.maoOp = maoOp;		
	}

	public Mao getMaoOp() {
		return this.maoOp;
	}

	public void setDisposPedras(LinkedList<Pedra> disposPedras) {
		this.disposPedras = disposPedras;		
	}

	public LinkedList<Pedra> getDisposPedras() {
		return this.disposPedras;
	}
	
	public void setPtaC(LinkedList<Pedra> ptaC) {
		this.ptaC = ptaC;		
	}

	public LinkedList<Pedra> getPtaC() {
		return this.ptaC;
	}
	
	public void setPtaD(LinkedList<Pedra> ptaD) {
		this.ptaD = ptaD;		
	}

	public LinkedList<Pedra> getPtaD() {
		return this.ptaD;
	}
	
	public boolean isIniciarDouble5() {
		return iniciarDouble5;
	}

	public void setIniciarDouble5(boolean iniciarDouble5) {
		this.iniciarDouble5 = iniciarDouble5;
	}
	
	public boolean isDobleCincoJogado() {
		return dobleCincoJogado;
	}

	public void setDobleCincoJogado(boolean dobleCincoJogado) {
		this.dobleCincoJogado = dobleCincoJogado;
	}
	
	public String getVencedor() {
		return vencedor;
	}

	public void setVencedor(String vencedor) {
		this.vencedor = vencedor;
	}
	
	public boolean isJogoTrancado() {
		return jogoTrancado;
	}

	public void setJogoTrancado(boolean jogoTrancado) {
		this.jogoTrancado = jogoTrancado;
	}
	
	public int getPontOp() {
		return pontOp;
	}

	public void setPontOp(int pontos) {
		this.pontOp = pontos;
	}
	
	public boolean getReinicio() {
		return reinicio;
	}

	public void setReinicio(boolean reinicio) {
		this.reinicio = reinicio;
	}

}